我们基于不同的.Net版本运行多个站点.
其中一个站点运行.Net 4.6和ASP.Net MVC 5.xx
要使用Razor的新语法,我们希望将此站点升级为使用.Net 4.6和ASP.Net Core
我们在我们的网站上使用FormsAuthentication,我们将继续使用它,以便用户可以在网站之间移动.(其中一个站点是运行FormsAuthentication的SharePoint站点)
我们知道ASP.Net Core没有使用System.Web中的任何东西,但是我们需要使用来自控制器(在登录时创建FormsAuthentication cookie)和HttpModule来验证cookie.
我无法找到如何使用完整框架运行ASP.Net Core的站点中的system.web的任何示例.我无法在project.json中为system.web添加依赖项.
问题.
是否可以从这样的设置中使用system.web?
我们如何向system.web添加依赖项,以便ASP.NET MVC 6中提供System.Web.FormsAuthentication.(Controllers/http模块)
这是一个MVC2网站,我遇到了FormsAuthentication票证的问题.30分钟后用户超时无法重新登录.在测试期间,DateTime.Now.AddMinutes(30)值设定为5000,一切正常,但是现在改为30,这是再当问题开始
从cookie创建
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
user.UserID,
DateTime.Now,
DateTime.Now.AddMinutes(30),
false,
"user,user1",
FormsAuthentication.FormsCookiePath);
Run Code Online (Sandbox Code Playgroud)
Web.config文件
<authentication mode="Forms">
<forms loginUrl="~/Account.mvc/LogOn" timeout="2880" name=".ASPXFORMSAUTH" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
票证创建中的到期值是否必须> = web.config值?
c# cookies formsauthentication formsauthenticationticket asp.net-mvc-2
这个问题似乎与这篇文章有关,但我无法从该帖子推断出一个解决方案.
我在我继承的应用程序中注意到这个代码(在日志文件中注意到正在吃异常):
protected void Session_End(object sender, EventArgs e)
{
try
{
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
//if (this.Context.Handler is IRequiresSessionState || this.Context.Handler is IReadOnlySessionState)
//{
// FormsAuthentication.SignOut();
// FormsAuthentication.RedirectToLoginPage();
//}
}
catch (Exception ex)
{
this.GetType().GetLogger().Error(ex);
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道一些事情.首先,SignOut如何抛出空引用异常?这是一个例外情况,还是我在我的计划中做了一些天生错误的事情?接下来,在抛出此异常之前,我应该测试什么来阻止它?
15:51:57,288 [13]错误ASP.global_asax - System.NullReferenceException:未将对象引用设置为对象的实例.在MvcApplication.Session_End的System.Web.Security.FormsAuthentication.SignOut()处
谢谢
1)我们有一个NodeJS应用程序,我们需要在IIS 7.5/Win2k8 R2下托管.
2)我们有其他已经使用ASP.NET FormsAuthentication的应用程序.3)将使用NodeJS应用程序的用户与现有应用程序的用户是相同的用户.
因此我们将FormsAuthentication配置设置放在web.config中,并且IIS正在读取它:
[IIS>站点> {iisnode-site}>身份验证] - 无法发布图像!
但是,它完全忽略了配置 - 所以我想也许在FormsAuthentication模块之前调用iisnode模块,但是当我查看模块列表(有序视图)时,它会在此站点的底部列出iisnode,而上面列出了FormsAuthentication模块iisnode.
这甚至可能吗?我在另一篇文章@Incept上看到了带有HttpModule的iisnode请求可能是解决方法,但这种方法意味着我们需要滚动一个XHR头代理(各种) - 我们可以这样做,但作为最后的手段.
asp.net forms-authentication restful-authentication formsauthentication iisnode
问题1:setAuthCookie是否比FormsAuthentication.Encrypt(ticketVariable)更安全?
我的意思是,如果有人试图修改setAuthCookie创建的cookie,通过修改用户名,我想这会违反后续调用的身份验证?
问题2:对于那些使用iphone和平板电脑访问网站的人,我认为FormsAuthentication会失败吗?鉴于我不想使用cookieless选项,是否有另一种方法可以在智能手机网络浏览器和非智能手机网络浏览器上使网站安全?
干杯
人们报告无法登录我们的某个ASP.NET站点.当我检查IIS日志时,看起来它们的浏览器在登录后没有缓存FormsAuthentication cookie.
我认为它不像'用户将浏览器设置为不接受cookie'那样简单,因为:
a)如果一般的cookie不能用于他们的浏览器,他们就不会有他们在这个过程中所拥有的程度 - 例如,ASP.NET会话cookie似乎工作正常.
b)这些通常不是那种甚至不知道如何关闭cookie的用户.
所以我认为它必须是别的东西.除了用户只是将浏览器设置为拒绝cookie 之外,哪些问题会导致ASP.NET FormsAuthentication cookie停止工作?
编辑:例如,对另一个问题的回答表明,有时FormsAuthentication Cookies因为太大而被丢弃 - 也许有人可以对此有所了解?
编辑:我们的一个站点的FormsAuthentication cookie是233个字节 - 有点大吗?可以缩小吗?也许这会有所帮助.
编辑:我注意到代码使用FormsAuthentication.SetAuthCookie()
而Response.Redirect()
不是FormsAuthentication.RedirectFromLoginPage()
- 可能是相关的吗?
我已经在不同的站点之间使用了表单身份验证,甚至在不同版本的 .NET 之间,但现在我们正在考虑在ASP.NET 5 (MVC 6) ASP.NET Core 中启动一个新项目,并希望使用基于 cookie 的身份验证跨两者形成身份验证。登录是在“旧”MVC 5 应用程序中完成的。
当前版本的 ASP.NET 5 是否可以或支持基于 cookie 的表单身份验证的某些跨应用程序配置?这可以使用FormsAuthenticationModule在MVC6 ASP.NET Core 端实现吗?或者它可以以某种方式与新的身份验证中间件一起使用吗?还有其他建议吗?
asp.net authentication formsauthentication asp.net-core-mvc asp.net-core
我想在控制台应用程序中生成HashPasswordForStoringInConfigFile.它是在Web应用程序中使用以下类完成的
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_value, "md5")
Run Code Online (Sandbox Code Playgroud)
但System.Web.Security类在控制台应用程序中不可用任何人都可以告诉我一个替代方法或者是否可以在控制台应用程序中导入System.Web.Security类任何帮助将不胜感激
谢谢Suvidha
我正在尝试在 SSRS 2008(不是 R2)中实现一些自定义安全代码,以允许表单身份验证而不是 Windows 身份验证。我的解决方案基于 Microsoft 示例代码,并设法使其大部分工作正常。我唯一遇到问题的地方是登录到实际的报表管理器 URL 时。
问题 1
使用 URL 时,http://localhost/Reports_MSSQL2008/
它不会选取UILogon.aspx
我复制到/Pages
文件夹中的页面(按照 Microsoft 示例的说明)。我修改了 ReportManager 文件夹中的 web.config 以包含以下内容:
<authentication mode="Forms">
<forms loginUrl="UILogon.aspx"
name="sqlAuthCookie"
timeout="60"
slidingExpiration="true"
path="/" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
我尝试更改路径以匹配 aspx 文件的确切路径,但仍然没有乐趣!
问题 2
由于上述问题,我尝试通过 URL 进入 UILogon 和 ReportManager http://localhost/Reports_MSSQL2008/Pages/UILogon.aspx
。这是因为我可以进入我的自定义代码(UILogon.aspx.cs 和 IAuthorisation / IAuthentication 代码),我可以看到它执行以下操作:
问题是,当 response.redirect 返回到 GetUserInfo() 方法时,HttpContext.Current.User 为空,并且不再有 cookie。因此,返回一个空的 IIdentity(不能将它设置为其他任何东西!!)并且 SSRS 抛出错误......
Microsoft.ReportingServices.Diagnostics.Utilities.AuthenticationExtensionException: …
我必须在登录时设置FormsAuthentication
cookie值(FormsAuthentication.SetAuthCookie(UserDesignation, false)
).现在我需要提供指定更改选项.因此,当用户更改其名称时,我需要将FormsAuthentication
cookie值从旧指定更新为新指定.
有可能吗?
如果是的话,我该怎么做?
cookies asp.net-mvc forms-authentication setcookie formsauthentication