Asp.net mvc 单个应用程序中的Windows和窗体身份验证MVC 4

Asp.net mvc 单个应用程序中的Windows和窗体身份验证MVC 4,asp.net-mvc,windows,forms,hybridauth,Asp.net Mvc,Windows,Forms,Hybridauth,我有一个MVC4应用程序,最初需要使用windows身份验证进行身份验证。 如果用户在托管服务器上浏览网站,则显示登录屏幕。 如果远程访问,则自动进行windows身份验证。 我在想: a)将网站配置为使用windows身份验证 b)检查服务器的IP地址和用户的IP地址 c)如果匹配,则显示“登录”屏幕 d)如果它们不匹配,则使用windows自动进行身份验证 我正在使用MVC 4、sql express和IIS express 7.5、windows 7和VS 2013 请告知 1)这是满足我

我有一个MVC4应用程序,最初需要使用windows身份验证进行身份验证。 如果用户在托管服务器上浏览网站,则显示登录屏幕。 如果远程访问,则自动进行windows身份验证。

我在想:
a)将网站配置为使用windows身份验证
b)检查服务器的IP地址和用户的IP地址
c)如果匹配,则显示“登录”屏幕
d)如果它们不匹配,则使用windows自动进行身份验证

我正在使用MVC 4、sql express和IIS express 7.5、windows 7和VS 2013
请告知
1)这是满足我需求的最佳方法吗?
2)在我们需要windows和表单的地方,如何实现这种类型的身份验证?
请注意:我的登录屏幕将显示用户名和密码,这不是针对数据库的身份验证,只是使用哈希算法动态验证密码。我们没有在数据库中存储用户凭据。
我还需要为此网站添加角色
如果用户使用登录屏幕进入网站,则他们是临时用户(操作员角色),windows身份验证用户是特定角色(管理员、经理、领导等) 任何指针都会非常有用

谢谢
DotNet

我想出了一个办法。我在web.config文件中将身份验证模式设置为windows

然后我检查用户是否在广告中,如果不是,则显示登录屏幕


待代码稳定后,我会将其粘贴一段时间,以使其对某人有利。

如果您没有针对数据库验证密码,您将针对什么进行验证?感谢您花时间阅读我的问题。我正在使用哈希算法生成密码,并对其进行动态身份验证。我的要求是不要将临时用户存储在数据库中,而是在flyOK上对他们进行身份验证,但要验证密码,您需要将其与其他内容进行比较,无论是散列还是其他方式。您将它与什么进行比较?另外,远程用户的windows身份验证意味着用户登录到服务器所在的同一网络。是这样吗?