2012-01-17 11 views
0

enter image description hereFormsIdentity不適切な値を返すIsInRole - 何が欠けていますか?

はリターンtrue上記IsInRoleチェックべきではないのですか?メソッドのシグネチャは、誰かがそれがfalseを返している原因ここで簡単に説明してもらえますか?

bool IsInRole(string role);

ですかしかし明らかに何かのように思えるかもしれません。

+0

右クリックして画像を拡大してご覧ください。画像を追加して申し訳ありませんが、ここで質問されている質問に文脈を与えたいだけです。 – VoodooChild

+1

なぜあなたは本当にそれが真実に戻るべきだと確信していますか?あなたは実際に 'ResetPassword'という名前の役割を持っていますか? – santiagoIT

+0

@santiagoIT:はい、 'IPrincipal'から来る' Ticket.UserData'の値を見てください – VoodooChild

答えて

1

認証クッキーのユーザーデータ部分に役割が格納されているようです。しかし、IsInRoleメソッドは、あなたがそうするよう指示しない限り、ロールをチェックするときにそれを調べません。その方法の例については、following answerをご覧ください(この例では、ロールは認証クッキーのユーザーデータ部分に格納され、| =で区切られていると仮定しています)。これは、ユーザーログイン)。

+0

ダーリンに感謝しました。 'GenericPrincipal gPrincipal = new GenericPrincipal(formsIdentity、null);' - 私がgPrincipalを新規作成するときにロールを渡して、 'IsInRole'チェックが機能するようにしようとしています。それはあなたに欠けている部分のようにも聞こえますか? – VoodooChild

+0

@VoodooChild、それはあなたのパズルの欠けている部分のように完全にそして絶対に聞こえる:-) –

+0

優秀 - 喜んで、そのトリックをした:) – VoodooChild

関連する問題