这似乎是一个非常愚蠢的问题,但我正试图找出最好的方法来做到这一点.您是否只需重定向到/ Logout页面并让控制器调用FormsAuthentication.SignOut函数?
这是我的第一个想法,但后来我想知道它是否可能被第三方网站滥用.假设有人决定发布您的/ Logout页面的链接.用户将退出您的应用程序.有没有好办法防止这种情况发生?
我有一个看似相当常见的情况:我有一个包含用户/密码列表的数据库,理想情况下,当有人访问该网站时,我想使用他们的Windows名称(内部),否则无论名称是什么用户提供(外部).
我的主要问题是如何向浏览器发送响应,强制它提示外部用户的用户名/密码(比如当您访问使用Windows身份验证的页面时)?有没有人这样做过?
我的主要目标是避免创建登录屏幕,只使用浏览器内置的内容.有没有办法可以利用内置的表单身份验证来执行此操作?
谢谢!
*更新:我发现了类似于我在这里寻找的东西:http://blog.codeville.net/2008/08/25/using-the-browsers-native-login-prompt/
我想将ASP.NET MVC的视图用作邮件模板引擎.为此,我使用System.ComponentModel.Component.WebClient从另一个控制器操作调用一个控制器操作,解析返回的网页并通过电子邮件发送.
在这种情况下,是否可以将当前用户的登录凭据(我使用FormsAuthentication)转发到WebClient请求的控制器操作?用户密码是加密的,因此我不能仅使用其用户名和密码创建新的NetworkCredentials实例.
我使用的是Visual Studio Team System 2008(VSTS),C#,.NET 3.5,IIS 7.0和ASP.NET.我有两个IIS网站,站点A和站点B.他们的相关域名是,http://sitea.example.com和http://siteb.example.com.
我听说使用表单认证时,我们可以启用域级别的Cookie,也就是说,如果两个站点都在同一个域(例如两者sitea.example.com并siteb.example.com在域example.com),最终用户只需要进行一次认证.更详细地说,如果用户通过其中一个站点进行了身份验证(通过身份验证),则无需再在其他站点中对用户进行身份验证.
如何为我sitea和siteb?启用此功能?我是否需要更改两个web.config中sitea和siteb?
另一个困惑是,如果用户通过身份验证sitea,则可以确定用户的身份是否被识别sitea,但是如何siteb在不再对用户进行身份验证的情况下识别用户的身份?
我开始在我的asp.net网站上使用dotless,这需要一个特殊的httphandler来工作.该网站使用表单身份验证.这是问题所在:当我登录http://example.org/stylesheets/mystyles.less的请求时工作正常.它给了我适当的CSS.如果我没有登录,请求被拒绝,我被重定向到登录页面.有没有办法允许匿名访问此文件?这不起作用:
<location path="~/stylesheets">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud) 我们是否知道asp.net用于创建身份验证cookie的算法(使用表单身份验证时?)
我们基本上可以创建自己的副本实现吗?如果是这样,怎么样?
它用于生成加密的cookie值,我知道它使用您传递给SetAuthCookie调用的任何内容(通常是userID/username).
我有一个用户在我的Intranet网页上抱怨频繁超时.在寻找解决方案时,我发现了这篇文章:
http://forums.asp.net/t/152925.aspx?PageIndex=1
如果海报建议拦截重定向到登录页面,请将数据提交到数据库,然后重新授权用户(不知情)或重定向到登录页面.我的目标是避免用户在表单中输入数据,走开,然后返回提交,只是被告知他们必须再次登录的情况(如果数据仍然存在并且用户被正确发送,这很好)回到原始的webform).
有谁知道如何在我的应用程序中的特定页面上完成此操作(并非所有这些)?
一个非常简单的问题,也许有人像我一样有一个MVC初学者的小费.我想密码保护MVC应用程序 - 只需要用户/密码 - 我是通过ASPNETDB和SqlMembershipProvider完成的,但应该有希望更简单的方法 - 在webforms中我通过向web.config添加用户/密码来实现.
我真的需要编写自己的XmlMembershipProvider来解决这个问题吗?如果是的话,你知道一个非常简单的现有XmlMembershipProvider可以为我做这个吗?提前谢谢了..
我有一个带有2.0应用程序的.NET 4.0应用程序作为孩子.Web应用程序不在多服务器环境中; 只有一台服务器参与提供这些请求.两个应用程序都使用自定义身份验证,两个应用程序具有相同的machineKey属性和值 当我访问2.0应用程序时,事件日志显示以下消息:
Event code: 4005
Event message: Forms authentication failed for the request. Reason: The ticket supplied was invalid.
Event time: 12/2/2011 11:36:49 AM
Event time (UTC): 12/2/2011 5:36:49 PM
Event ID: 2068ad6957964f75885301fc2b58ddfe
Event sequence: 2
Event occurrence: 1
Event detail code: 50201
Run Code Online (Sandbox Code Playgroud)
我尝试ticketCompatibilityMode在Web.config中的forms元素上将属性设置为Framework20,但这并没有解决问题.由于此错误,用户未被授权,因此通常的对象(HttpContext)没有填充用户信息.
有谁知道如何修复此错误,以便身份验证适用于2.0应用程序?(顺便说一下,我的确计划将2.0应用程序升级到4.0,但此时不能完成此卡)
我有一个主网站,有2个子网站.我想创建一种在网站上进行身份验证的简单方法,以便我可以查看其他2个子站点.
这些网站的设置如下:
www.example.com/
www.example.com/subsite1
www.example.com/subsite2
Run Code Online (Sandbox Code Playgroud)
作为进一步的要求,subsite1和subsite2可以在不同的网站上重复使用.
我可以在ASP.NET中使用内置的身份验证模块吗? 或者我是否必须创建自己的自定义cookie?