点击蓝字 关注我们
前言
在系统开发中,默认情况下所有后台请求都应要求用户登录后才能访问,以确保安全性。但某些特殊场景(如登录认证、第三方接口握手等)需要绕过登录检查。今天我们就来探讨不同版本下如何安全地实现免登录认证,并强调其中的安全责任。
1
为什么需要免登录认证?
系统安全的核心原则是“默认拒绝,按需开放”。然而,以下场景必须允许免登录访问:
❶ 登录认证请求(否则用户无法登录)
❷ 第三方系统握手接口(如单点登录、API对接)
❸ 公开数据查询(如验证码、二维码生成)
关键原则:
❶ 最小权限原则:仅开放必要的接口,避免过度暴露。
❷ 责任明确:谁配置免登录,谁负责该接口的安全防护。
2
不同版本的免登录认证方案
免登录认证是系统安全中的双刃剑,合理使用能提升用户体验,滥用则可能引入安全漏洞,因此谁搞的VIP通道谁对该通道做好安全的评估和责任!
01
V7.1SP1及更早版本
V7.1SP1及更早版本,对于无需登录即可访问的url,比如禁止套娃的登录,采用注解方式@NeedlessCheckLogin直接在Controller方法上标注:
publicclassMainController {
@NeedlessCheckLogin// 声明此方法无需登录检查
public ModelAndView login(HttpServletRequest request) {
// 登录逻辑
}
}
V7.1SP1以后版本处于安全和统一管理的考虑,原则上不允许应用随意新增无需登录的请求。
02
V8.0~V8.2版本
采用XML配置文件管理免登录接口,避免代码侵入,具体配置文件是:
❶ctp-coresrcmainresourcesneedless_check_login.xml
❷ needless_check_login_recheck.xml
最终打包位置在 ApacheJetspeed/webapps/seeyon/WEB-INF/classes,如图:
具体格式如下:
<beans>
<bean>
<id>/sc.do</id>
<name>com.seeyon.cap4.form.modules.smartCode.controller.SmartCodeController</name>
<methods>
<method>qr</method>
</methods>
</bean>
<bean>
<id>/media/media.do</id>
<name>com.seeyon.ctp.common.media.controller.MediaController</name>
<methods>
<method>mediaShow</method>
</methods>
</bean>
<bean>
<id>对应springmvc的beanId</id>
<name>对应springmvc的Controller</name>
<methods>
<method>对应Controller下的具体方法,用于限定只开通一个请求</method>
</methods>
</bean>
</beans>
注:不要删除原来默认的配置,仅在最后beans标签中追加二开需要的免登录接口,并且仅开放必要的请求路径和方法,避免通配符滥用。
03
V8.2SP1及以上版本
从V8.2SP1版本开始考虑到不同二开修改造成的权限版本混乱等问题,采用了独立配置文件的方案,二开人员只需要在自己ctp-customize-xxx工程下面的src/main/resources/目录下面创建的 needless_check_login_xxx.xml 和
needless_check_login_recheck_xxx.xml 文件,文件格式如下:
<beans>
<!-- 在beans标签中追加客开需要的免登录接口 -->
<bean>
<id>对应springmvc的beanId</id>
<name>对应springmvc的Controller</name>
<methods>
<method>对应Controller下的具体方法,用于限定只开通一个请求</method>
</methods>
</bean>
</beans>
具体如:
最终打包位置如图:
优势:
❶ 无侵入性:不影响标准产品代码,便于升级维护。
❷ 模块化管理:可按插件划分配置文件,便于权限管控。
3
再次申明:安全注意事项
免登录认证虽然方便,但滥用可能导致严重安全风险,因此务必遵循:
❶ 最小开放原则:仅允许必要的接口免登录,避免通配符(如/*)。
❷输入校验:免登录接口仍需做好参数过滤,防止SQL注入、越权访问等。
❸ 日志监控:记录免登录接口的访问情况,便于审计和异常排查。
❹ 定期复审:随着业务变化,及时清理不再需要的免登录配置。
end
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...