VS2019运行ASP.NET应用自动登录 如何显示带注册登录按钮的公开首页
解决方案
- 清除浏览器对应站点的Cookie与缓存数据,或者直接开启浏览器无痕模式启动调试。ASP.NET Identity默认使用Cookie存储用户登录凭证,只要Cookie未过期,访问站点就会自动识别为已登录状态,触发视图中
if (signInManager.IsSignedIn(User))的已登录分支,不会显示注册登录按钮。 - 检查首页对应的控制器Action是否添加了
[AllowAnonymous]特性。如果你的控制器/全局过滤器配置了默认需要登录授权,未给首页单独配置允许匿名访问的话,未登录用户会被直接重定向到登录页,无法看到带登录注册按钮的首页。 - 修正视图中的登出代码拼写错误,你当前的登出功能无法正常触发:
原错误代码:
<a href="javascript:docuement.getElementbyId('logoutForm').submit()"> LogOut </a>
修正后代码:
<a href="javascript:document.getElementById('logoutForm').submit()"> LogOut </a>
拼写错误会导致点击登出按钮无响应,无法正常清除登录Cookie,自然每次打开站点都是已登录状态。
- 检查项目调试配置是否开启了Windows身份验证:右键项目 → 选择「属性」→ 切换到「调试」标签,取消勾选「Windows身份验证」,仅保留「匿名身份验证」开启即可,否则VS会自动传入当前Windows系统的身份信息完成自动登录。
内容的提问来源于stack exchange,提问作者Faizan Khan
相关产品推荐
相关产品推荐

