我有一个Generic Handler,我想根据一些查询字符串自动登录。
但是我设置了FormsAuthentication.SetAuthCookie(user.Name,false),但是HttpContext.Current.User.Identity.IsAuthenticated返回false,由于web.config中设置的限制,我无法重定向。 / p>
那么如何在.ashx文件中设置FormsAuthentications?
答案 0 :(得分:1)
要使用FormsAuthentication模块执行登录,您可能只想使用RedirectFromLoginPage静态方法,其中包含以下内容:
以下是处理程序的简短原型:
public void ProcessRequest(HttpContext context)
{
// TODO: Determine the user identity
var username = context.Request.QueryString["username"];
FormsAuthentication.RedirectFromLoginPage(username, true);
}
如果您对此方法执行工作的方式感到不舒服,您可以手动方式执行每项活动:
答案 1 :(得分:0)
您是否尝试将其添加为web.config中的位置路径?
<configuration>
<location path="foo.ashx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location >
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
</configuration>