目标:用户Login一次之后,可以访问同一Server上的不同Webapp, 具体实现上采用Tomcat的Single Sign-On实现. 主要分为下面几个步骤:
修改Tomcat conf/server.xml 打开SSO支持
<Host> 节点下增加一个Value节点 <Valve className="org.apache.catalina.authenticator.SingleSignOn" debug="0" requireReauthentication="false"/> </Host>
container认证realm: user、role、server.xml的<Realm...>设置.
tomcat的认证机制有2个要素: user 和 role.
user 是区别一个个用户的唯一识别了。
role 就是一些抽象的权限级别,比如“admin”、“manager”、“member”、“guest”等等,都是可以自己定义的.一个user可以拥有多种role.
“可是tomcat怎么去拿到我的user/role信息呢?我的这些数据都在数据库里阿?” 可以在tomcat的server.xml里用 <Realm> tag来读取这些信息,并且tomcat提供了3、4种现成的Realm实现,其中有从文件里读的,有从JDBC读的,有从DataSource读的,也有从LDAP读的。具体Realm的写法,和提供的几种Realm的配置方法,可以参考tomcat自己的文档,在此不作细述。 (把tomcat自带的webapp: tomcat-docs.war 展开,看里面的 config/realm.html) 如果连这些现成的配置都不能满足你的要求的话,那也可以考虑自己写一个Realm的实现类来满足具体要求。下面举一个JDBC的Realm的配置例子看一下:
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="your.jdbc.driver.here" connectionURL="your.jdbc.url.here" connectionName="test" connectionPassword="test" userTable="users" userNameCol="user_name" userCredCol="user_pass" userRoleTable="user_roles" roleNameCol="role_name" />
webapp使用SSO:
告诉tomcat这个webapp要通过container的认证
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索tomcat
, sso
, 配置
, role
, 一个
, user
Realm
tomcat sso、sso单点登录tomcat、cas sso tomcat7 搭建、tomcat sso 配置、tomcat ad sso,以便于您获取更多的相关知识。