我计划将Jasper服务器与我的Web应用程序集成为单点登录。我阅读了Jasper身份验证手册并且Jasper建议基于令牌的身份验证作为解决方案之一(因为身份验证已由我的Web应用程序完成)。
Jasper建议的是:
您以特定格式(在tokenFormatMapping下定义)传递令牌给Jasper服务器,Jasper将对请求进行身份验证。
因此,有效的令牌可以是:
我的问题是这个过程真的安全吗?因为一旦黑客知道了模式,他就可以简单地登录到Jasper服务器? 对我来说,看起来安全性可能会受到威胁。我有什么遗漏吗?
Jasper建议的是:
您以特定格式(在tokenFormatMapping下定义)传递令牌给Jasper服务器,Jasper将对请求进行身份验证。
因此,有效的令牌可以是:
u=user|r=role1|o=org1|pa1=PA11|pa2=PA21|exp=2001404150601
无效令牌可以是
u1=user|r=role1|o=org1|pa1=PA11|pa2=PA21|exp=2001404150601
r=role1|u=user|o=org1|pa1=PA11|pa2=PA21|exp=2001404150601
我的问题是这个过程真的安全吗?因为一旦黑客知道了模式,他就可以简单地登录到Jasper服务器? 对我来说,看起来安全性可能会受到威胁。我有什么遗漏吗?
<bean class="com.jaspersoft.jasperserver.api.security.externalAuth.wrappers.spring.preauth.JSPreAuthenticatedAuthenticationProvider">
....................
<property name="tokenPairSeparator" value="|" />
<property name="tokenFormatMapping">
<map>
<entry key="username" value="u" />
<entry key="roles" value="r" />
<entry key="orgId" value="o" />
<entry key="expireTime" value="exp" />
<entry key="profile.attribs">
<map>
<entry key="profileAttrib1" value="pa1" />
<entry key="profileAttrib2" value="pa2" />
</map>
</entry>
</map>
</property>
<property name="tokenExpireTimestampFormat" value="yyyyMMddHHmmssZ" />
</bean>
</property>
</bean>