产品理念:企业机密,无懈可击。
畅捷安全基于“事前防范、事中监视”的设计思路,形成以“密码技术为支撑,以身份认证为基础、以数据安全为核心、以行为管理为辅助”的全方位财务数据安全防护管理体系,彻底消除各种因泄露数据造成的安全隐患。
服务器安全防护系统
提供对财务数据库的全面安全加密、防护和接入控制。主要功能有:
系统设置、数据库加密、数据库目录防护、数据库准入控制、策略管理、日志管理和升级管理等。
客户端安全防护系统
提供对财务客户端的安全防护管理,动态加密财务客户端产生的各种输出文档,并提供截屏、打印和拷贝等安全防护控制。主要功能有:
策略管理、日志管理、客户端状态维护、客户端安全防护、升级管理和主机身份认证管理。
管控中心系统
管控中心在计算机插入加密卡后自动启动,实现身份认证、终端管理、终端授权、终端审计和监控。
个人文件保密柜
系统在保护企业财务数据安全的基础上,提供基于个人的文件保密柜,保护个人的文档安全。文件保密柜中文件采用高强度数据加密,客户只能使用密码才可以打开本人的文件保密柜。用桌面右键点击桌面文档,可以实现自动加密并发送进个人文件保密柜。
数据库账号密码加密详解及实例数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,spring security 也是需要进行同步配置的,因为spring security 中验证的加密方式是单独配置的。如下:
<authentication-manager>
<authentication-provider user-service-ref="userDetailService">
<password-encoder ref="passwordEncoder" />
</authentication-provider>
</authentication-manager>
<beans:bean class="com.sapphire.security.MyPasswordEncoder" id="passwordEncoder">
<beans:constructor-arg value="md5"></beans:constructor-arg>
</beans:bean>
如上述配置文件所示,passwordEncoder才是在spring security对账号加密校验的地方。
spring security在拦截之后,会首先对用户进行查找,通过自己定义的userDetailService来找到对应的用户,然后由框架进行密码的匹配验证。
从userDetailService得到user以后,就会进入到DaoAuthenticationProvider中,这是框架中定义的 ,然后跳入其中的authenticate方法中。
该方法会进行两个检查,分别是
* preAuthenticationChecks : 主要进行的是对用户是否过期等信息的校验,调用的方法在userDetail中有定义的。
* additionalAuthenticationChecks : 这个就是用户名密码验证的过程了。
而PasswordEncoder是我们xml中注入的bean,所以了,我们调用的则是我们自己完成的passwordEncoder
public class MyPasswordEncoder extends MessageDigestPasswordEncoder {
public MyPasswordEncoder(String algorithm) {
super(algorithm)
}
@Override
public boolean isPasswordValid(String encPass, String rawPass, Object salt) {
return encPass.equals(DigestUtils.md5DigestAsHex(rawPass.getBytes()))
}
}
这是我对其实现的一个简单版本,调用的就是spring自带的加密算法,很简单了,当然也可以使用复杂的加密方法,这个就靠自己了
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)