hor*_*ace 2 .net authentication
我使用简单的.net身份验证将用户登录到.net
if ( Membership.ValidateUser( user, passwd ) )
Run Code Online (Sandbox Code Playgroud)
工作良好.紧接着,我尝试获取用户名:
Membership.GetUser().UserName
Run Code Online (Sandbox Code Playgroud)
有时这会返回一个无效的对象.有时不.我似乎无法检测到哪种模式.
例如,用户使用系统中的有效角色登录为"root"/"password".ValidateUser()调用成功,但Membership.GetUser().UserName返回无效对象.2秒后,再次执行相同的操作,验证和GetUser()都成功.
有任何想法吗?
..编辑1 ..这是我如何使用用户名:
Roles.GetRolesForUser( Membership.GetUser().UserName );
Run Code Online (Sandbox Code Playgroud)
当我交换System.Environment.UserName时,角色列表返回空.
如果我保持原样并且使用'true'作为我的第二个参数设置auth cookie,它可以正常工作.
FormsAuthentication.SetAuthCookie( user, true );
Run Code Online (Sandbox Code Playgroud)
如果我使用HttpContext.Current.User.Identity.Name,则角色列表可以将auth cookie设置为true或false.
现在,我理解有关性能的问题.这对我很重要.但我还需要确保应用程序正常运行.
| 归档时间: |
|
| 查看次数: |
4845 次 |
| 最近记录: |