我为主页面实现了一个不错的弹出模式登录对话框。当我点击我正在使用的链接时:
$(document).ready(function() {
$('#loginButton').click(function(e) {
$.ajax({
url: "@{Secure.login()}",
success: function(data) {
$("#myModal").html(data + '<a class="close-reveal-modal">×</a>');
$('#myModal').reveal();
}
});
});
});
我的应用程序设计为某些控制器需要用户进行身份验证,并在登录视图之前重定向。
我想要做的是,如果用户正在访问安全控制器,他需要查看登录弹出屏幕,而不是重定向到视图,以便我有相同的用户体验。
我已经收到谷歌小组的建议:
a)拦截已经存在的所有安全链接是最好的 客户端使用一些JavaScript并显示您的模态对话框。这是 独立于安全模块提供的内容。
但是不知道如何实现这一点,或者是否已经有了解决方案。
答案 0 :(得分:0)
您的问题实际上来自jQuery类别,而不是ajax或playframework或web-security。如果您的所有安全链接都以https://
开头 $('a[href^="https://"]').click(// function here);
如果您的链接标有.secure class:
$('a.secure').click(// function here);
该函数将显示弹出模式登录对话框,返回false并在成功回调结束时将用户重定向到原始链接url。