2014-09-24 150 views
3

我有一个使用默认Lotus Notes http登录的Lotus Notes应用程序。来自Notes身份验证的“注销”

在我们的开发者服务器,Notes有发送的登录请求NAMES.NSF

<form method="post" action="/names.nsf?Login" name="_DominoForm"> 

HTML表单和注销同样做了,呼吁

/names.nsf?LogOut 

这是我们发现在其他Notes服务器上也是如此 - 但是,这是默认设置,那么还有什么期望?

尽管登录是Notes自动弹出的表单,但注销按钮必须是我们的Web应用程序(在LotusScript中具有后端)的一部分,并且我将链接硬编码为names.nsf。

现在客户似乎使用大量定制的设置,其中登录和注销不使用names.nsf完成。我不知道他们为登录做什么 - 但是当试图呼叫/names.nsf?LogOut时,Access被拒绝。

有没有什么办法可以用编程方式找出用哪个动作登录用户?如果没有,注销将不得不在我们的后端完成(至少iNotes是这样做的)。如何将笔记http注销编程到LotusScript Notes代理中?

回答

5

你不需要使用names.nsf?注销。你可以使用任何数据库。我建议使用你有用户工作的那个。如果在names.nsf上安全设置正确,Web用户就不应该访问它,所以这就是为什么你得到了访问被拒绝的消息(以及为什么你不应该使用该数据库来注销)。

例如,我有一个位于/websites/myApplication.nsf的Web应用程序。 注销链接是

<a href="/websites/myApplication.nsf?logout&redirectto=/websites/myApplication.nsf/LogoutPage">Logout</a> 

我使用重定向注销后给用户发送到特定位置。 “LogoutPage”页面设置为可供公共用户使用,因此在注销后显示。