首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Lift rest会话使用Lift web会话

从Lift rest会话使用Lift web会话
EN

Stack Overflow用户
提问于 2013-02-06 02:58:57
回答 1查看 223关注 0票数 0

我有一个Lift web应用程序,我想在其中提供csv下载链接。csv由Lift rest服务提供。

设置这个没有问题。但是,为了安全和流畅地工作,我需要使用已经建立的经过身份验证的web会话。

这是我当前使用其他rest服务进行的rest身份验证。是否存在web用户的角色,我可以在下面的?中添加;或者我完全没有抓住要点?

代码语言:javascript
复制
LiftRules.authentication = HttpBasicAuthentication("lift") {
  case (`webshopUser`, `webshopPwd`, _) =>
    userRoles(webshopRole :: Nil)
    true
  case (`mailingListUser`, `mailingListPwd`, _) =>
    userRoles(mailingListRole :: Nil)
    true
}

LiftRules.httpAuthProtectedResource.append {
  case Req("rest" :: "mailingLists" :: _, _, _) => Full(mailingListRole)
  case Req("rest" :: "mamberships" :: "year" :: _, _, _) => ???
  case Req("rest" :: "memberships" :: _, _, _) => Full(webshopRole)
}
EN

回答 1

Stack Overflow用户

发布于 2013-02-06 03:23:31

角色只是一个任意的权限,允许您控制对资源的访问。在您的应用程序中,您已经将webshopRolemailingListRole定义为实现net.liftweb.http.auth.Role的变量。为了保护第二个请求,您需要决定是否:

  1. 您只想将访问权限授予两个用户帐户中的一个。然后,假设您想允许允许由webshopUser定义的帐户。在这种情况下,您可以使用Full(webshopRole).
  2. You,希望两个用户都有访问权限。在本例中,您将定义一个类似于定义webshopRole的新角色,对于本例,我们将其命名为csvRole。然后,将该角色添加到HttpBasicAuthentication规则中,如:userRoles(webshopRole :: csvRole :: Nil)。在映射中,您将使用:Full(csvRole)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14714850

复制
相关文章

相似问题

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