您使用哪种容器?jBoss?Tomcat?Derby?
您还需要使用持久性存储->是,需要DBMS。它是哪一个?MySQL,Sysbase,Oracle PL / SQL,MS SQL?
此处提供了可供初学者使用的文档:
http :
//tomcat.apache.org/tomcat-7.0-doc/realm-
howto.html#JDBCRealm
通常,您需要具有一个数据库后端,一个JDBC-ODBC驱动程序(jar)和一个容器为您做身份验证。
但是,我将为您提供一些指导和见解,以帮助您在遇到困难时得到帮助。
假设您使用的是Tomcat 7.0+和MySQL 5.5,请按照以下步骤 *** 作:
乍一看似乎很乏味,但实际上却很简单。
首先安装MySQL或所需的其他DBMS。这里最关键的事情之一就是命名并注册一个MySQL服务,安装程序将自动为您服务。尝试连接到数据库**。
成功执行此 *** 作后,请更改默认DBMS特权用户的用户名(root)和密码(“”)。
创建一个项目架构。
在名为“用户”和“权限”的架构中创建2个表。
第一个表(用户)必须具有两列:用户名和密码。
第二个(权利)还必须具有两列:用户名和角色。
对于初学者,请将两个表都留为空白。
现在,您必须编辑位于tomcat的Catalina(又名home)conf(iguration)目录中的tomcat-
users.xml和server.xml。
tomcat-users.xml
:该文件包含可由tomcat识别的角色。因此,您将需要添加至少一个这样的角色,例如“客户端”,“客户”,“未经身份验证”等
。此外,此文件中至少有一个tomcat用户名和密码实例,当您手动启动tomcat时使用或作为服务或通过IDE。该实例 _ 需要_
插入数据库中,因此您需要手动添加该实例(SQL代码),以便容器对自身进行身份验证(否则,容器自身会出现永久性登录失败)。
server.xml: 现在,假设已将JDBC-ODBC驱动程序添加到项目的类路径中,请注释掉UserDatabaseRealm
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/>
并在LockoutRealm(已经存在)中添加类似的内容
<Realm className="org.apache.catalina.realm.JDBCRealm"connectionURL="jdbc:mysql://localhost:3306/SCHEMA_NAME_IN_DB?user=DB_USER;password=DB_PASS"debug="99" driverName="com.mysql.jdbc.Driver" userTable="users"userNameCol="username" userCredCol="password" userRoleTable="rights"roleNameCol="role"/>
(或者如果您不想拥有LockOutRealm,则不要添加->也注释掉它然后粘贴上面的领域)
SCHEMA_NAME_IN_DB,DB_USER和DB_PASS是您在创建模式并更改DBMS特权用户的用户名和密码时设置的值。现在,您需要做的就是在数据库中添加正在运行的tomcat的实例用户名和密码(角色:“
manager-script”)以及MySQL特权用户的角色(角色:custom,即“ client”)。
还添加一个或两个测试用户进行展示,并将它们与您在tomcat-users.xml中手动添加的角色相关联。
最后,您需要编辑项目的web.xml文件。您需要在此处提供以下信息:登录配置,安全角色和安全约束。
登录配置 :提供登录页面和登录错误页面。
安全角色 :在此处添加您手动添加到users-tomcat.xml文件中并且用户必须具有这些安全角色才能通过登录来访问任何页面。 安全约束
:指定登录用户需要哪些页面进行身份验证访问。
示例(weeeh!)
<security-constraint>
<display-name>URLsConstraintMechanism</display-name>
<web-resource-collection>
<web-resource-name>clientURL</web-resource-name>
<description>Required access to specified URL with client permissions</description>
<url-pattern>/securedURL/index.html</url-pattern>
<http-method>GET</http-method>
<http-method>PUT</http-method>
<http-method>POST</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
…(这里有更多web-resource-collections)
<auth-constraint>
<description>Required privileges to access securely constraintURLs.</description>
<role-name>client</role-name>
</auth-constraint>
</security constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/index.html</form-login-page>
<form-error-page>/index_denied.html</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Required privileges to access securely constraintURLs.</description>
<role-name>client</role-name>
</security-role>
如果使用IDE(尤其是web.xml的NetBeans ),这将更加容易。
玩得开心!!!祝你好运:D :):D
- 关于和*:
- MySQL 5.5的安装程序中有2个严重的错误。
- 如果您需要帮助,请检查此URL:
- [https](https://serverfault.com/questions/214435/error-1067-the-process-
- terminated-unexpectedly-when-trying-to-install-mysql-on)
//serverfault.com/questions/214435/error-1067-the-process-terminated-
unexpectedly-when-trying-to-install-mysql-on PS:我明天回来添加一些提示。现在,我要睡觉了!xD
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)