首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为喷雾路线指定负路径匹配

为喷雾路线指定负路径匹配
EN

Stack Overflow用户
提问于 2015-01-16 11:23:54
回答 1查看 106关注 0票数 1

我有一些路线是具体的管理和一些不是。

我的代码中有以下内容:

代码语言:javascript
复制
val route = pathPrefixTest("admin") { statusRoute ~ statsRoute } ~ securedRoutes

securedRoutes面向公共,并执行其他逻辑,比如签入用户登录,如果没有,则拒绝它们,而管理urls受内部LDAP保护,因此不需要这些检查。

我遇到的问题是,当有人键入"/ admin /mispelt_url“时,它不满足管理路线,并尝试安全路由。此时,它尝试检查用户是否已登录,并返回他们需要登录的错误。

我想要的是:

代码语言:javascript
复制
val route = pathPrefixTest("admin") { statusRoute ~ statsRoute } ~  **pathPrefixTest("NOT admin")** {securedRoutes}

有路径匹配机制吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-16 12:19:42

文档中,您可以使用unary_!来说“不是管理员”

代码语言:javascript
复制
By prefixing a matcher with ! it can be turned into a PathMatcher0 that only
matches if the underlying matcher does not match and vice versa.

例子-

代码语言:javascript
复制
// matches anything starting with "/foo" except for /foobar
pathPrefix("foo" ~ !"bar")

因此,您应该能够这样做(虽然没有测试)。

代码语言:javascript
复制
val route = pathPrefixTest("admin") { statusRoute ~ statsRoute } ~  pathPrefixTest(!"admin") {securedRoutes}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27982918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档