我还没有真正使用过它,但是我正在阅读the tutorial here,据我了解,一旦在控制器中对其进行注释,它就会完全阻止用户使用,并仅显示表单。

我想知道的是,您将如何简单地隐藏网站的某些部分。就像在用户未登录时在顶部显示登录表单,在用户登录时显示“配置文件”按钮一样。在用户未登录时禁用发布功能等,而不会向来宾隐藏所有内容。

您是否需要针对这些情况创建单独的视图,或者仅在视图内部检查用户是否已登录?以及使用安全模块如何检查?

最佳答案

成功登录/验证后,Play安全模块authenticate()会在会话中存储“用户名”。

您可以在视图中使用此会话属性来检查用户是否登录,然后相应地更改轨道。

#{if session.username }
    <!-- You can show users' profile -->
#{/if}
#{else}
    <!-- Show login form now. You can create a login template-tag form and call it here. -->
#{/else}

09-08 07:26