标签: forms-authentication

基于表单的身份验证在Java中的混乱

请问有谁能告诉我,如何处理java中基于表单的身份验证中的j_security_check servlet?

我是否必须在web-xml文件中使用j_security_check名称映射servlet类,如:

<servlet>
<servlet-name>Anyname</servlet-name>
<servlet-class>Anyclass</servlet-name>
</servlet>

<servlet-mapping>
<servlet-name>Anyname</servlet-name>
<url-pattern>/j_security_check</url-pattern>
</servlet-mapping> 
Run Code Online (Sandbox Code Playgroud)

如果我输入用户名和密码,然后单击提交,那么具有j_security_check名称的servlet 将如何处理这些信息?该servlet将如何验证那些输入的用户名和密码,并获取资源(如果是身份验证),然后授权成功,否则将出现错误页面.j_security_check servlet将如何做到这一点?

java authentication servlets forms-authentication

2
推荐指数
1
解决办法
2545
查看次数

在ASP.Net MVC中使用ASP.Net身份验证有什么好处吗?

过去几天我一直在研究这个问题.

我们正在开发一个需要支持100,000多个用户的ASP.Net MVC站点.我们希望保持快速,可扩展和简单.我们有自己的用户和user_role等SQL数据库表.我们没有使用服务器控件.

鉴于没有服务器控件,并且需要创建自定义membershipProvider,使用ASP.Net Auth/Membership还有什么好处?

另一种选择似乎是创建自定义代码以将UniqueID CustomerID放入cookie中并使用该身份验证进行身份验证.或者,如果我们对嗅探器有偏执,我们也可以加密cookie.

在这种情况下(MVC和客户数据在我们自己的表中)使用ASP.Net auth/membership框架是否有任何实际好处,或者完全自定义解决方案是否可行?

更新:我发现一个人(马特布里格斯)似乎得出了我的一些相同的结论:这来自这个链接:http: //webcache.googleusercontent.com/search?q = cache: Xm1-OrRCZXIJ: mattcode.net/posts/asp-net-membership-sucks+asp.net+membership+sucks&hl=en&gl=us&strip=1

ASP.net成员资格是一个设计糟糕的API,开箱即用是不安全的,维护得不好,给开发人员带来了错误的安全感.如果你没有构建一个框架,身份验证是一个周末项目,但是,大多数.net开发人员盲目地遵循官方API,假设像MS这样的大公司可以推出一些体面的东西.

asp.net authentication asp.net-mvc forms-authentication asp.net-membership

2
推荐指数
1
解决办法
2423
查看次数

Global.asax.cs中的Session_End未使用表单身份验证触发

我有一个使用窗体身份验证设置为45分钟超时的asp.net 4.0应用程序。我想在会话过期后将用户重定向到超时页面。谁能告诉我该怎么做?我正在运行.net 4.0。

web.config具有:

<authentication mode="Forms">
  <forms name=".ASPXAUTH" loginUrl="~/Login.aspx"
    defaultUrl="~/Default.aspx" protection="All" timeout="45"
    requireSSL="false">
  </forms>
</authentication>
Run Code Online (Sandbox Code Playgroud)

Global.asax.cs文件具有:

void Session_End(object sender, EventArgs e)
{
    Response.Redirect("~/Timeout.aspx");
}  
Run Code Online (Sandbox Code Playgroud)

c# asp.net forms-authentication session-timeout

2
推荐指数
1
解决办法
2万
查看次数

使用ASP.NET MVC重定向到FormsAuthentication登录页面时显示有用的消息

我想制作一个AuthorizeAttribute包含Message属性的自定义.问题是,我的FormsAuthentication重定向到指定的loginUrl.该视图如何访问属性的Message属性?

例如,我使用自定义AuthorizeAttribute进行此操作

[Authorize(Message="You must be logged in to see user settings.")]
public ActionResult Settings()
{
    return View();
}
Run Code Online (Sandbox Code Playgroud)

FormsAuthentication如果用户没有登录,它会被重定向到/ Account/LogOn(感谢web.config中的设置).我想在LogOn View上显示"您必须登录才能看到用户设置",以便用户知道为什么他们被重定向到LogOn页面

asp.net-mvc forms-authentication authorize-attribute http-status-code-401

2
推荐指数
1
解决办法
1297
查看次数

检索表单身份验证到期日期/时间

我正在使用表单身份验证,当前在用户登录时创建表单身份验证票证,如果他们请求保留登录,则设置约5天的到期时间.

我现在需要创建一个额外的cookie来存储一些额外的设置,如果用户通过身份验证,我希望能够获得其表单身份验证票据到期的日期/时间,表单票证是否持久,以及将其设置为我的其他cookie的到期日,但我不知道如何获取该表单auth到期日期/时间或检查它是否持久.

可以从加密的表单身份验证票中提取此信息吗?

c# asp.net cookies forms-authentication

2
推荐指数
1
解决办法
2242
查看次数

asp.net MVC控制器和身份验证

我有一堆控制器和相关的视图需要对它们应用基于角色的身份验证.我正在考虑在其上安装一个带有[authorize]属性定义的基本控制器,以便我可以让所有从该基类继承的控制器在登录后才可用.我测试过这个工作.我不确定这是否是最好的做法,或者这种方法是否会有任何陷阱.

将来,我需要只有特定角色的用户才能访问某些页面.角色列表将来自数据库表.因此,我只是在它继承的基本控制器中进行更改,而不是更改所有相关的控制器.这是正确的做法吗?

谢谢你的时间.

asp.net-mvc authorization forms-authentication asp.net-mvc-3

2
推荐指数
1
解决办法
5300
查看次数

移动到新服务器后,站点收到SQL错误.

我正在为我的公司创建一个相当简单的网站来标记库存和标签.这很顺利,现在我们想要添加一个带有用户名和密码的登录元素.这是在C#和ASP.NET 4中完成的,因此已经内置了许多此功能.

我在一个引用App_Data文件夹中的数据库的页面中添加了一个Login Web部件.但是,当我将它发布到应用服务器时,它不希望自动将任何内容放在App_Data文件夹中,当我尝试登录时出现SQL错误:

> A network-related or instance-specific error occurred while
> establishing a connection to SQL Server. The server was not found or
> was not accessible. Verify that the instance name is correct and that
> SQL Server is configured to allow remote connections. (provider: SQL
> Network Interfaces, error: 26 - Error Locating Server/Instance
> Specified)
Run Code Online (Sandbox Code Playgroud)

最初,当程序运行时,它是一个简单的标记扫描页面,它将字段添加到另一个数据库中的小表.我很好奇程序是否存在引用两个数据库的问题以及C#如何用于此类身份验证以及是否有更简单的方法来执行此操作.

c# sql asp.net authentication forms-authentication

2
推荐指数
1
解决办法
102
查看次数

MVC4表单对AD的身份验证

我正在尝试设置一个Intranet MVC应用程序,通过表单身份验证对我们公司的AD进行身份验证; 我们希望用户必须登录.发布到Login操作时,我收到以下异常:"要调用此方法,"Membership.Provider"属性必须是"ExtendedMembershipProvider"的实例." 还有其他人有这个问题吗?

Web.config文件:

<connectionStrings>
  <add name="ADConnectionString" connectionString="LDAP://example.domain.com/DC=example,DC=domain,DC=com"/>
</connectionStrings>
<appSettings>
  <add key="enableSimpleMembership" value="false" />
</appSettings>
<system.web>
<authentication mode="Forms">
  <forms name=".ADAuthCookie" loginUrl="~/Account/Login" timeout="45" slidingExpiration="false" protection="All"/>
</authentication>
<membership defaultProvider="ADMembershipProvider">
  <providers>
    <clear/>
    <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName"/>
  </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)

的AccountController:

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Login(LoginModel model, string returnUrl)
    {
        //The call to WebSecurity.Login is what throws
        if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
        {
            return RedirectToLocal(returnUrl);
        }

        // If we got this far, something failed, redisplay form
        ModelState.AddModelError("", "The user name …
Run Code Online (Sandbox Code Playgroud)

forms-authentication asp.net-mvc-4

2
推荐指数
1
解决办法
6418
查看次数

基于表单的身份验证-身份验证成功后重定向到错误页面(Tomcat 7.0.4)

我正在尝试基于表单的身份验证,但是我不知道为什么,在登录页面上输入正确的用户名/密码后,它将重定向我到错误页面而不是index.jsp

当我输入:

http://localhost:8080/<context>/secure/index.jsp
Run Code Online (Sandbox Code Playgroud)

我得到登录页面。但是,当我输入用户名/密码(manager / manager)时,它将带我到error.html而不是index.jsp

WEB.XML:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>FormBasedAuthentication</display-name>
<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/login.html</form-login-page>
        <form-error-page>/error.html</form-error-page>
    </form-login-config>
</login-config>
<security-role>
    <role-name>role1</role-name>
</security-role>    
<security-constraint>
    <web-resource-collection>
        <web-resource-name>SecurePages</web-resource-name>
        <description>Security constraint for JSP resources</description>
        <url-pattern>/secure/*</url-pattern>
        <http-method>POST</http-method>
        <http-method>GET</http-method>
    </web-resource-collection>
    <auth-constraint>
        <role-name>role1</role-name>
    </auth-constraint>
    <user-data-constraint>
        <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
</security-constraint>
Run Code Online (Sandbox Code Playgroud)

TOMCAT-USER.XML:

<tomcat-users>
   <role rolename="manager-gui"/>
   <role rolename="manager-script"/>
   <role rolename="manager-status"/>
   <role rolename="manager-jmx"/>
   <role rolename="role1"/>
   <user username="manager" password="manager" roles="role1"/>
</tomcat-users>
Run Code Online (Sandbox Code Playgroud)

java authentication servlets forms-authentication java-ee

2
推荐指数
1
解决办法
4049
查看次数

如何在没有aspnet标识的情况下使用OWIN表单身份验证

我想使用OWIN管道向客户端发出身份验证cookie,当用户注销时清除cookie但我不想使用恼人的aspnet身份提供者.它只是不适合项目,我试了很长时间,它只是不适合.所以我决定不使用它.我只想使用OWIN管道.

这是可能的还是我应该回到旧的表单身份验证?

forms asp.net asp.net-mvc forms-authentication owin

2
推荐指数
1
解决办法
3765
查看次数