【问题标题】:Sails.js restricting access thru policiesSails.js 通过策略限制访问
【发布时间】:2017-12-09 16:55:41
【问题描述】:

我正在尝试限制具有 3 方的访问权限,即管理员、用户和访问者(他们不是成员)。当管理员和用户登录时,我只想摆脱 html 中的 Register 和 Login 标头。

这是首页。 session.usertype 是管理员。 session.userid 是所有登录的用户,包括管理员也是

<% if(session.usertype) { %>
      <li><a href="/item">Item Manager</a></li>
      <li><a href="/category">Category Manager</a></li>
      <% } %>

      <li><a href="/Register">Register</a></li>
      <li><a href="/login">Login</a></li>

      <% if(session.userid) {%>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><%= users.username %><span class="caret"></span></a>
        <ul class="dropdown-menu" role="menu">
          <li><a href="/profile">profile</a></li>
          <li><a href="#">Another action</a></li>
          <li><a href="#">Something else here</a></li>
          <li class="divider"></li>
          <li class="dropdown-header">Nav header</li>
          <li><a href="#">Separated link</a></li>
          <li><a href="#">One more separated link</a></li>
        </ul>
      </li>
      <% } %>

这是控制器

 login:function(req,res){
var username = req.param('username'); 
var password = req.param('password');
//findOne find only one data info that first found.
User.findOne({username:username,password:password}).exec(function(err, result){
  if(err){
    return res.send(err);
  }
  if(result){
    console.log(result);
    req.session.userid = result.id;
    req.session.usertype = result.type;
    return res.redirect('/diy');
  }
   return res.view('user/login',{error:"username or password incorrect"});
}); 

结果图片。

This is visitor will see

但是当我以管理员身份登录时

I don't want that register and login after I logged in

【问题讨论】:

    标签: javascript sails.js ejs


    【解决方案1】:

    Ejs 会渲染

      <li><a href="/Register">Register</a></li>
      <li><a href="/login">Login</a></li>
    

    在所有情况下。您需要将其包装在 else 条件中。

    <% if(session.usertype) { %>
          <li><a href="/item">Item Manager</a></li>
          <li><a href="/category">Category Manager</a></li>
          <% } else {%>
    
          <li><a href="/Register">Register</a></li>
          <li><a href="/login">Login</a></li>
    <% } %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-08
      • 2020-07-23
      • 2020-08-06
      • 2021-08-21
      • 1970-01-01
      • 2021-11-27
      • 2014-01-25
      • 1970-01-01
      相关资源
      最近更新 更多