设为首页 收藏本站
查看: 513|回复: 0

[经验分享] Tomcat 通过数据库验证的配置方法(BASIC,FORM).

[复制链接]

尚未签到

发表于 2017-2-1 14:39:22 | 显示全部楼层 |阅读模式
  1.Tomcat默认验证的配置 通过tomcat-user.xml进行验证
server.xml <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  debug="0" resourceName="UserDatabase"/>
tomcat-user.xml <?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  
<role rolename="user"/>
  
<role rolename="tomcat"/>
  
<role rolename="role1"/>
  
<role rolename="manager"/>
  
<role rolename="admin"/>
  
<user username="derek" password="dada" roles="admin,user"/>
  
<user username="tomcat" password="tomcat" roles="tomcat"/>
  
<user username="role1" password="tomcat" roles="role1"/>
  
<user username="both" password="tomcat" roles="tomcat,role1"/>
  
<user username="admin" password="dada" roles="admin,manager"/>
</tomcat-users>

2.配置验证,通过数据库
(用户表member:帐号字段wno,密码字段password; 权限表system_permit: 权限字段system_code)
server.xml <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
             driverName
="net.sourceforge.jtds.jdbc.Driver"
          connectionURL
="jdbc:jtds:sqlserver://192.168.56.32:1433/testDB"
          connectionName
="sa" connectionPassword="sa"
              userTable
="member" userNameCol="WNO" userCredCol="Password"
          userRoleTable
="system_permit" roleNameCol="system_code" />
driverName 驱动名字
connectionURL 数据库连接url
connectionName 连接的用户名
connectionPassword 连接的密码
userTable 用户表
userNameCol 用户名列
userCredCol 密码列
userRoleTable 角色表
roleNameCol 角色名字字段


一 Basic验证
Web.xml   <security-constraint>
    <web-resource-collection>
      <web-resource-name>admin page</web-resource-name>
      <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Password required</realm-name>
  </login-config>
  <security-role>
    <role-name>admin</role-name>
  </security-role>

取得用户登陆帐号         String auth_user = null;
        String auth 
= request.getHeader("Authorization");
        String encoded 
= auth.substring(6);
        sun.misc.BASE64Decoder dec 
= new sun.misc.BASE64Decoder();
        String decoded 
= new String(dec.decodeBuffer(encoded));
        String[] userAndPass 
= decoded.split(":"2);
        auth_user 
= userAndPass[0];
        session.setAttribute(ADMIN_ID,auth_user);



二、FORM验证
1.准备login.jsp页面<FORM name="logonForm"  method="post" action="j_security_check">
   
<input name="j_username" type="text" />
   
<input name="j_password" type="password" />
   
<input  type="submit" value="LOGIN"/>
</FORM>
*     帐号  j_username
*     密码  j_password
*     action  j_security_check
“*”内容为固定写法,不能改变
2.配置web.xml  <security-constraint>
    <web-resource-collection>
      <web-resource-name>admin page</web-resource-name>
      <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>
  <login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
      <form-login-page>/login.jsp</form-login-page>
      <form-error-page>/error.jsp</form-error-page>
    </form-login-config>
  </login-config>  <security-role>
    <role-name>admin</role-name>
  </security-role>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-336225-1-1.html 上篇帖子: 安装配置:zip版本Tomcat配置新手入门 下篇帖子: 在eclipse + MyEclipse+tomcat下配置建立J2EE工程环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表