2016-04-12 20 views
1

私のXPages Webアプリケーションのセキュリティを強化するために、私はdomcfg.nsfのカスタムログインフォームにcaptchaを入れました。 キャプチャが誤解されている場合、私はそれは私がメッセージを表示させreasontypeするフィールドの値を更新することはできません、ログインするときに問題があるhttp://www.notesmail.com/home.nsf/tip20100506Reason Typeフィールドin domcfg

「間違ったキャプチャコード: は、私は私のキャプチャを構築するためのリンクをたどっ" 私が入力したテキストをキャプチャに等しいかどうかを確認するために、このアクションを追加しました:

@If (@UpperCase (MyCaptchaField) = TheRealValueOfMyCaptcha ; FIELD reasontype: = "6" ; "")

とreasontypeの値が "と等しい場合、私は計算フィールドのエラーメッセージで私にエラーを示して条件を追加しました6 "。 これは機能せず、キャプチャが書かれていなくても自分のXPageにアクセスできます。 reasontypeフィールドはあらかじめ定義された5つの条件にしか依存しないと感じます。

ログオンフォームに他の条件を追加する方法はありますか?

+0

XPagesのソリューションではなく、従来のドミノWebソリューションを探しているので、XPagesタグを削除するとよいでしょう。 –

答えて

3

あなたはコロンと同じ文字の間にスペースを持っています。つまり、文字は2つの演算子、つまりリスト連結演算子と等価演算子として扱われます。代わりに、あなたはこの必要がある。この

@If (@UpperCase (MyCaptchaField) = TheRealValueOfMyCaptcha ; FIELD reasontype: = "6" ; "") 

@If (@UpperCase (MyCaptchaField) = TheRealValueOfMyCaptcha ; FIELD reasontype := "6" ; "") 

をしかし、このための古典的なスタイルは、次のようになります。私はこのコードを試してみました

FIELD reasontype := @If (@UpperCase (MyCaptchaField) = TheRealValueOfMyCaptcha ; "6" ; ""); 
1

あなたはそこに構文エラーを持っている...これは修正されたコードは:

@If (@UpperCase (MyCaptchaField) = TheRealValueOfMyCaptcha ; FIELD reasontype := "6" ; "") 
+0

はい、言及いただきありがとうございます。それは質問のエラーでした。私は自分のフォームに正しい機能を使用していますが、どちらも機能しません – user3082877

0

。しかし問題は、それが自動的に私のアプリケーションに接続し、captchaの検証を無視することです。

キャプチャが間違っていて動作していて、reasontypeフィールドを避けるためのWeb警告が表示されている場合は、ログアウトページの "onsubmit"アクションにリダイレクトされた解決策が見つかりました。

ありがとうございました。

1

このコードはXPagesではなく旧式のDomino Webフォーム用です。代わりに、XPages固有の実装を使用し、AJAXログインポストを使用することもできます。ここOpenNTFのカップルは、私が発見された:ここではhttps://www.openntf.org/main.nsf/project.xsp?r=project/Xpages%20Captcha%20Custom%20Control https://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=Recaptcha%20Custom%20Control

は、AJAXのログインここでCustom login forms in xpages? とデクラン・リンチによって別のOpenNTFプロジェクトを指すブログの記事でも、ログインカスタムコントロールのXSnippetです(doLoginがありますSSagesのログイン方法)https://openntf.org/XSnippets.nsf/snippet.xsp?id=dojo-login-dialog-custom-control

関連する問題