首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC 4 Windows身份验证

MVC 4 Windows身份验证
EN

Stack Overflow用户
提问于 2017-06-23 19:11:59
回答 1查看 941关注 0票数 0

我是MVC的新手,我需要检索用户名并将其传递给我的公司库,后者检查用户证书。

Web.config

代码语言:javascript
复制
<authentication mode="Windows" />
  <authorization>
    <allow users="*"/>
    <deny users="?"/>
  </authorization>

控制器

代码语言:javascript
复制
[Authorize]
    public class MVCAuthen : Controller
    {
        public string GetCredentials()
        {
            var userName = HttpContext.Current.User.Identity.Name;
            string credential = library.Getcredential(userName);

        return credential;
    }
}

我的问题是,当我试图检索用户名时,我一直处于空白状态。有人能告诉我我做错了什么或者我如何检索用户名吗?

注意:我试图在本地执行此操作,因为我正在尝试调试它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-23 20:46:40

首先,您应该使用Internet应用程序或Intranet应用程序模板。

然后,在web.config上,您应该注释或删除表单身份验证,并使用windows身份验证。就像这样:

代码语言:javascript
复制
<--
<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
-->

<authentication mode="Windows" />

并将其添加到“appSettings”中

代码语言:javascript
复制
<appSettings>
    <add key="autoFormsAuthentication" value="false" />
    <add key="enableSimpleMembership" value="false"/>
</appSettings>

现在转到解决方案资源管理器,右键单击项目并转到属性。在那里,必须将Windows身份验证更改为“已启用”。

如果不允许任何匿名访问,也可以禁用匿名身份验证。

一旦完成,您就可以在任何Controller或Action上添加授权。

然后,您应该能够使用您的windows密码登录。

如果您能够登录并查看页面,那么您可以像这样检索用户名。

代码语言:javascript
复制
var username = HttpContext.User.Identity.Name;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44728469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档