Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
街头小贩
Jforum2
提交
77c0878a
J
Jforum2
项目概览
街头小贩
/
Jforum2
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Jforum2
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
77c0878a
编写于
8月 29, 2020
作者:
街头小贩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加策略开启参数
上级
0e163567
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
35 addition
and
10 deletion
+35
-10
thrones/src/main/java/com/apobates/forum/thrones/ThronesFrontConfig.java
...n/java/com/apobates/forum/thrones/ThronesFrontConfig.java
+4
-1
thrones/src/main/java/com/apobates/forum/thrones/controller/helper/MemberInviteCodeInterceptorAdapter.java
...controller/helper/MemberInviteCodeInterceptorAdapter.java
+4
-4
thrones/src/main/java/com/apobates/forum/thrones/controller/helper/RegisteChannelInterceptor.java
.../thrones/controller/helper/RegisteChannelInterceptor.java
+3
-3
thrones/src/main/java/com/apobates/forum/thrones/controller/helper/StrategyCondition.java
...es/forum/thrones/controller/helper/StrategyCondition.java
+21
-0
thrones/src/main/resources/global.properties
thrones/src/main/resources/global.properties
+3
-2
未找到文件。
thrones/src/main/java/com/apobates/forum/thrones/ThronesFrontConfig.java
浏览文件 @
77c0878a
package
com.apobates.forum.thrones
;
import
com.apobates.forum.thrones.controller.helper.StrategyCondition
;
import
com.apobates.forum.attention.ImageStoreDomain
;
import
com.apobates.forum.core.ImageIOMeta
;
import
com.apobates.forum.member.storage.OnlineMemberStorage
;
...
...
@@ -15,6 +16,7 @@ import org.springframework.context.MessageSource;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.ComponentScan.Filter
;
import
org.springframework.context.annotation.Conditional
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.EnableAspectJAutoProxy
;
import
org.springframework.context.annotation.Import
;
...
...
@@ -72,8 +74,9 @@ public class ThronesFrontConfig implements WebMvcConfigurer {
public
RegisteChannelInterceptor
getRegisInter
()
{
return
new
RegisteChannelInterceptor
();
}
//策略检测拦截器
//策略检测拦截器
,以Env(site.strategy)来控制开启,默认开启
@Bean
@Conditional
(
StrategyCondition
.
class
)
public
StrategyInterceptorAdapter
getStrategyInter
(){
return
new
StrategyInterceptorAdapter
();
}
...
...
thrones/src/main/java/com/apobates/forum/thrones/controller/helper/MemberInviteCodeInterceptorAdapter.java
浏览文件 @
77c0878a
...
...
@@ -20,9 +20,9 @@ import org.springframework.web.servlet.support.RequestContextUtils;
* @since 20200827
*/
public
class
MemberInviteCodeInterceptorAdapter
extends
HandlerInterceptorAdapter
{
//是否开启邀请码注册,
1(开启)验证邀请码,0
(禁用)不会验证邀请码
//是否开启邀请码注册,
true[1](开启)验证邀请码,false[0]
(禁用)不会验证邀请码
@Value
(
"${site.member.invite}"
)
private
int
activeInviteCode
;
private
String
activeInviteCode
;
private
final
static
String
KEY
=
"inviteCode"
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MemberInviteCodeInterceptorAdapter
.
class
);
...
...
@@ -38,7 +38,7 @@ public class MemberInviteCodeInterceptorAdapter extends HandlerInterceptorAdapte
*/
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
if
(
activeInviteCode
==
1
&&
request
.
getMethod
().
equalsIgnoreCase
(
"post"
))
{
if
(
activeInviteCode
.
equalsIgnoreCase
(
"true"
)
&&
request
.
getMethod
().
equalsIgnoreCase
(
"post"
))
{
String
key
=
request
.
getSession
().
getAttribute
(
"ICInputKey"
).
toString
();
String
val
=
request
.
getParameter
(
key
);
if
(!
Commons
.
isNotBlank
(
val
))
{
...
...
@@ -69,7 +69,7 @@ public class MemberInviteCodeInterceptorAdapter extends HandlerInterceptorAdapte
*/
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
if
(
activeInviteCode
==
1
)
{
if
(
activeInviteCode
.
equalsIgnoreCase
(
"true"
)
)
{
//String rndIN = Commons.randomAlphaNumeric(10);
request
.
getSession
().
setAttribute
(
"ICInputKey"
,
KEY
);
modelAndView
.
addObject
(
"ICInputActive"
,
true
);
...
...
thrones/src/main/java/com/apobates/forum/thrones/controller/helper/RegisteChannelInterceptor.java
浏览文件 @
77c0878a
...
...
@@ -14,9 +14,9 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
* @since 20200529
*/
public
class
RegisteChannelInterceptor
extends
HandlerInterceptorAdapter
{
// 是否允许注册,
1(允许),0
(关闭)
// 是否允许注册,
true[1](允许),false[0]
(关闭)
@Value
(
"${site.member.register}"
)
private
int
memberRegister
;
private
String
memberRegister
;
/**
* preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用,
...
...
@@ -30,7 +30,7 @@ public class RegisteChannelInterceptor extends HandlerInterceptorAdapter {
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
// --------------------------------------------------注册通道检查
if
(
memberRegister
!=
1
)
{
if
(
memberRegister
.
equalsIgnoreCase
(
"true"
)
)
{
// 禁止注册
throw
new
BorbidMemberRegisterException
(
"会员注册功能已关闭"
);
}
...
...
thrones/src/main/java/com/apobates/forum/thrones/controller/helper/StrategyCondition.java
0 → 100644
浏览文件 @
77c0878a
package
com.apobates.forum.thrones.controller.helper
;
import
org.springframework.context.annotation.Condition
;
import
org.springframework.context.annotation.ConditionContext
;
import
org.springframework.core.env.Environment
;
import
org.springframework.core.type.AnnotatedTypeMetadata
;
/**
* 策略开启条件
*
* @author xiaofanku
* @since 20200829
*/
public
class
StrategyCondition
implements
Condition
{
//https://stackoverflow.com/questions/29844271/conditional-spring-bean-creation
@Override
public
boolean
matches
(
ConditionContext
cc
,
AnnotatedTypeMetadata
atm
)
{
Environment
env
=
cc
.
getEnvironment
();
return
null
!=
env
&&
"true"
.
equals
(
env
.
getProperty
(
"site.strategy"
));
}
}
\ No newline at end of file
thrones/src/main/resources/global.properties
浏览文件 @
77c0878a
...
...
@@ -23,8 +23,8 @@ jdbc.pool.testSql=SELECT 'x'
site.domain
=
http://center.test.com
site.defat.avtar
=
avatar
site.member.freeze
=
10
site.member.invite
=
0
site.member.register
=
1
site.member.invite
=
true
site.member.register
=
true
site.meta.description
=
In this tutorial we show a Spring MVC RSS ATOM Content Negotiation example. Using Content Negotiation we can serve different versions of a document (or resource) at the same URI.
# \u83b7\u53d6\u5931\u8d25\u65f6\u663e\u793a\u7684\u56fe\u7247
site.upload.fail
=
static/image/photo_album.jpg
...
...
@@ -32,6 +32,7 @@ site.theme=/WEB-INF/layout/page/default/
site.appname
=
Orion jForum
site.logo
=
static/img/logo.svg
site.pageSize
=
20
site.strategy
=
true
site.session.spring.symbol
=
SUP-SESSION
site.session.spring.table
=
spring_session
site.cookieSymbol
=
fx_ost
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录