使用了單點登錄,因為需要帶權限,便在本地系統配置了單點登錄。
前提:單點登錄是編譯好的,直接復制到 tomcat 安裝路徑 wtpwebapps 文件夾下,因為eclipse中要debug 或者run 但是sso 沒有加入到server中的。
在server 啟動后 直接更新server.xml文件 有兩種方式:
1.將單點登錄項目部署在相同端口下(默認8080)
直接在 <Host> 中添加
<Context docBase="D:\java\apache-tomcat-8.5.12\wtpwebapps\sso" path="/sso" reloadable="true" source="org.eclipse.jst.jee.server:sso"/>
路徑為自己安裝的tomcat的位置
server 的debug 啟動后 修改 。
2.部署在不同端口下(測試用,8081)
新增一個Service
<Service name="SSO">
<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
<Engine defaultHost="localhost" name="SSO">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host appBase="webapps1" autoDeploy="true" name="localhost" unpackWARs="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
<Context docBase="D:\java\apache-tomcat-8.5.12\wtpwebapps\sso" path="/sso" reloadable="true" source="org.eclipse.jst.jee.server:sso"/>
</Host>
</Engine>
</Service>
修改eclipse web.xml 單點登錄配置端口
重新保存,debug 后,將添加的Service 放到server.xml中
單獨訪問 http://localhost:8081/sso/login,登錄成功
2017-10-27 追加:以上方法操作復雜,必須要重啟server restart 一下,有時候還沒有效果。
昨天學到了一個新的方法,而且不用更改server.xml 文件
方法如下:
(1) 將現有的server刪除掉。
(2)重新添加server ,選擇tomcat ,添加好后,雙擊server
2.1 修改 server locations --> 選擇中間
2.2 修改deploy path --改為webapps
2.3 保存
2.4 將單點登錄的jar包 sso 復制到 tomcat安裝路徑下 webapps 文件夾下
啟動server 即可直接進行單點登錄了。這個方法只需修改一次即可。很方便。