File tree 5 files changed +8
-6
lines changed
cosec-webflux/src/main/kotlin/me/ahoo/cosec/webflux
cosec-webmvc/src/main/kotlin/me/ahoo/cosec/servlet
5 files changed +8
-6
lines changed Original file line number Diff line number Diff line change 12
12
*/
13
13
package me.ahoo.cosec.webflux
14
14
15
+ import me.ahoo.cosec.context.RequestSecurityContexts.setRequest
15
16
import me.ahoo.cosec.context.SecurityContextParser
16
17
import me.ahoo.cosec.context.request.RequestParser
17
18
import me.ahoo.cosec.webflux.ReactiveSecurityContexts.writeSecurityContext
@@ -32,12 +33,12 @@ import reactor.kotlin.core.publisher.toMono
32
33
class ReactiveInjectSecurityContextWebFilter (
33
34
private val requestParser : RequestParser <ServerWebExchange >,
34
35
private val securityContextParser : SecurityContextParser
35
- ) :
36
- WebFilter , Ordered {
36
+ ) : WebFilter, Ordered {
37
37
38
38
override fun filter (exchange : ServerWebExchange , chain : WebFilterChain ): Mono <Void > {
39
39
val request = requestParser.parse(exchange)
40
40
val securityContext = securityContextParser.ensureParse(request)
41
+ securityContext.setRequest(request)
41
42
exchange.mutate()
42
43
.principal(securityContext.principal.toMono())
43
44
.build().let {
Original file line number Diff line number Diff line change @@ -56,8 +56,8 @@ abstract class ReactiveSecurityFilter(
56
56
tokenVerificationException = verificationException
57
57
SimpleSecurityContext .anonymous()
58
58
}
59
- exchange.setSecurityContext(securityContext)
60
59
securityContext.setRequest(request)
60
+ exchange.setSecurityContext(securityContext)
61
61
return authorization.authorize(request, securityContext)
62
62
.flatMap { authorizeResult ->
63
63
if (authorizeResult.authorized) {
Original file line number Diff line number Diff line change @@ -51,10 +51,9 @@ abstract class AbstractAuthorizationInterceptor(
51
51
tokenVerificationException = verificationException
52
52
SimpleSecurityContext .anonymous()
53
53
}
54
-
54
+ securityContext.setRequest(request)
55
55
SecurityContextHolder .setContext(securityContext)
56
56
servletRequest.setSecurityContext(securityContext)
57
- securityContext.setRequest(request)
58
57
return authorization.authorize(request, securityContext)
59
58
.map {
60
59
if (! it.authorized) {
Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ import jakarta.servlet.ServletRequest
19
19
import jakarta.servlet.ServletResponse
20
20
import jakarta.servlet.http.HttpServletRequest
21
21
import me.ahoo.cosec.api.context.SecurityContext
22
+ import me.ahoo.cosec.context.RequestSecurityContexts.setRequest
22
23
import me.ahoo.cosec.context.SecurityContextHolder
23
24
import me.ahoo.cosec.context.SecurityContextParser
24
25
import me.ahoo.cosec.context.request.RequestParser
@@ -47,6 +48,7 @@ class InjectSecurityContextFilter(
47
48
val httpServletRequest = servletRequest as HttpServletRequest
48
49
val request = requestParser.parse(servletRequest)
49
50
val securityContext: SecurityContext = securityContextParser.ensureParse(request)
51
+ securityContext.setRequest(request)
50
52
SecurityContextHolder .setContext(securityContext)
51
53
httpServletRequest.setSecurityContext(securityContext)
52
54
}
Original file line number Diff line number Diff line change 11
11
# limitations under the License.
12
12
#
13
13
group =me.ahoo.cosec
14
- version =2.7.2
14
+ version =2.7.3
15
15
description =RBAC-based And Policy-based Multi-Tenant Reactive Security Framework.
16
16
website =https://github.com/Ahoo-Wang/CoSec
17
17
issues =https://github.com/Ahoo-Wang/CoSec/issues
You can’t perform that action at this time.
0 commit comments