0
我有一個憑證方法來通過GenericPrincipal設置用戶憑證。我使用asp.net MVCGenericPrincipal IsInRole爲HttpContext.User返回false
public void SetCredentials(HttpContextBase context, string username, bool createPersistenceCookie)
{
FormsAuthentication.SetAuthCookie(username, createPersistenceCookie);
IIdentity identity = new GenericIdentity(username);
IPrincipal principal = new GenericPrincipal(identity,new []{"standart"});
context.User = principal;
}
我要檢查User.IsInRole( 「非標準」)在控制器動作,但它返回false。
- context.User.IsInRole( 「非標準」)
我想用context.User在我的應用程序,但它總是返回假//返回false。
上下文用戶是否與CurrentPrincipal相同? – Prescott
「Thread.CurrentPrincipal.IsInRole(」standart「)'返回true的事實與您帖子的標題矛盾。我建議你調查Thread.CurrentPrincipal和context.User是否和你的'principal'是同一個實例。 – chiccodoro