Java tomcat领域动态设置用户角色
我正在为我的应用程序使用tomcat安全性:Java tomcat领域动态设置用户角色,java,tomcat,tomcat8,jdbcrealm,Java,Tomcat,Tomcat8,Jdbcrealm,我正在为我的应用程序使用tomcat安全性: <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <!--This is only applicable for Tomcat 8.5 and higher version with SQL server authentication--> <Realm className="
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<!--This is only applicable for Tomcat 8.5 and higher version with SQL server authentication-->
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://xxx.xx.xxx.xxx:1433;databaseName=xxxxx" connectionName="xxxx" connectionPassword="xxxx" roleNameCol="role_name" userCredCol="user_pass" userNameCol="user_name" userRoleTable="user_roles" userTable="users">
<CredentialHandler algorithm="MD5" className="org.apache.catalina.realm.MessageDigestCredentialHandler"/>
</Realm>
</Realm>
现在,无论身份验证数据源是什么,我都希望能够在应用程序中为登录用户动态设置新角色。我需要将其部署到应用程序中,客户端不会让我们获得身份验证数据库的详细信息,而是希望自己设置领域的详细信息。因此,它应适用于所有服务器/数据库类型,因此应尽可能通用。我不确定是否理解该问题,请将相应的记录添加到数据库?我希望能够为所有服务器/数据库类型动态设置角色(例如,通过
请求
变量)。是否有任何方法可以动态获取身份验证中使用的数据库凭据。我知道tomcat security不提供获取分配给用户的所有角色列表的选项,我们必须使用request.isUserInRole
并检查每个角色。我需要将其部署到应用程序中,客户端不会让我们获得身份验证数据库的详细信息,而是希望自己设置领域
详细信息。我不确定我是否理解这个问题,请将相应的记录添加到数据库中?我希望能够动态设置角色(例如,通过请求变量)对于所有服务器/数据库类型。是否有任何方法可以动态获取身份验证中使用的数据库凭据。我知道tomcat security不提供获取分配给用户的所有角色列表的选项,我们必须使用request.isUserInRole
并检查每个角色。我需要在应用程序中部署此选项d客户端不允许我们获得身份验证数据库的详细信息,而是希望自己设置领域
详细信息。