クレームベースの認証を使用してWCFサービスを呼び出すために、このコードを継承しました(これにより、バインディングが作成されますが、全体像がわかります)。
UserNameWSTrustBinding binding = new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential);
WSTrustChannelFactory trustChannelFactory = new WSTrustChannelFactory(binding, new EndpointAddress(Endpoint));
trustChannelFactory.TrustVersion = TrustVersion.WSTrust13;
trustChannelFactory.Credentials.SupportInteractive = false;
trustChannelFactory.Credentials.UserName.UserName = ConfigurationManager.AppSettings["UserName"];;
trustChannelFactory.Credentials.UserName.Password = ConfigurationManager.AppSettings["Password"];
web.configのappsettingsを暗号化できることは知っていますが、これに関するベストプラクティスは何か疑問に思っています。
このウェブサイトは、元の設計者にしか知られていない理由で、内部と外部が混在するサイトです。つまり、インターネットに公開されている部分と内部のみの部分があります。
残念ながら、上記のバインディングを使用する部分は内部の「サイト」にあるため、内部ユーザーのみがアクセスできますが、将来的に設計を保証する必要があると言われています。つまり、内部サイトの一部を利用できる可能性があります。認証されていないユーザーへのインターネット、したがって、web.configに資格情報を保存することが決定されました。
これを行うことのリスクは何ですか?
代わりに何をすべきですか?
TIA