我正在学习如何使用.NET中的Membership和Role附带的Profile。但是,我不确定链的顶部设置值的位置:
//Q1. Does it mean I set auth manually when loading user, or create it if not already exists?
//Or am I meant to get the isauth value from somewhere and pass it in?
var currentUserProfile = ProfileBase.Create(Membership.GetUser().UserName, isauth);
var anyUserProfile = ProfileBase.Create(strNewUser, isauth);
//isauth: true to indicate the user is authenticated;
// false to indicate the user is anonymous.
获得价值:
//Q2. Are res1 and res2 below reflecting the same thing?
//Gets a value that indicates whether the user has been authenticated
bool res1 = HttpContext.Current.User.Identity.IsAuthenticated;
//Gets a value indicating whether the user profile is for an anonymous user
bool res2 = HttpContext.Current.Profile.IsAnonymous;
我对每个人中的auth / anonymous的关系感到困惑。获取/设置用户进行身份验证或匿名的正确方法是哪一种?我的目标是让匿名用户和经过身份验证的用户都能拥有个人资料。
答案 0 :(得分:2)
res1
和res2
不同,因为其值取决于IIS配置中的设置。
您可以在IIS中启用“匿名访问”以将匿名身份与用户帐户绑定
来自Codeproject:
如果您在匿名模式下在IIS6中运行此代码,您将得不到详细信息,如下所示。
看看关于asp.net身份验证和授权的以下文章:
http://www.codeproject.com/Articles/98950/ASP-NET-authentication-and-authorization
在IIS7中,您可以导航到安全>>认证如下: