最近、私はhow to use ajax calls to authenticate user in asp.net mvcについて質問しました。私は答えを得ました。私site.masterビューでGenericPrincipalインスタンスを使用してロールを設定する
HttpContext.User = new System.Security.Principal.
GenericPrincipal(new System.Security.Principal.GenericIdentity(login.LoginName),
userRole);
を、:そして
しかし「の役割」を含むように従うように、私は自分のコードを変更し「GenericPrincipal」クラス
の「役割」プロパティを使用することを決めています私は のユーザがどんな種類の役割に属しているかチェックし、適切なメニューを表示しますが、 'HttpContext.Current.User.Identity'の値をデバッグ中に表示します。 m_roles = string [0]と 'IsInRole( " Admin ") 'はfalseを返します。
どうすれば修正できますか?ここに示されているよう
System.Threading.Thread.CurrentPrincipal = principal;
:
上記USERROLEには何が? –
string [] userRole = new string [] {"Admin"} –
私のwebconfigの@persianDevには、SQLからロールを取得したくないので、があります。あなたがしたように...しかし、正確に私のコントローラで私はIsInRoleをチェックしようとすると( "..."私はいつも偽になる...任意の手がかり? –
VAAA