2009-07-10 9 views
1

私はSharepointを初めて使い、これをgoogelingしようとしています。SharepointからWebサービスにユーザー名を渡す方法

ユーザー名を取得し、ユーザーに関する会社関連の情報を返すWebサービスを作成しました。

この情報を使用する最良の方法の1つは、Sharepoint Designerでデータストアを作成することです。

私はデフォルトのPARAMTERを追加することによって、それが仕事を得るために管理しているが、私はログインした人のユーザー名に渡す必要があります。

私は、パラメータ・ソースを選択した場合はサーバー変数であることをことを発見し、それを送信する名前としてLOGIN USERを使用してください。ただし、常にデフォルト値を送信しています。

私は間違っていますか?

ご協力いただきありがとうございます。

アンディ

答えて

0

するTry LOGON_USER

ここで説明とともに、サーバー変数の完全なリストがあります。.. http://www.w3schools.com/asp/coll_servervariables.asp

+0

感謝。 動作しません。デフォルト値だけが送信されているようです。 これはLOGON_USERが空であるか、それ以外の理由があるかどうかわかりません。 –

1

ASP.NETアプリケーション/プロセスでは、さまざまな方法で現在のIDを取得することができます:

using System.Security.Principal; 

... 

string username1 = HttpContext.Current.User.Identity.Name; 
string username2 = WindowsIdentity.GetCurrent().Name; 

また、Windows認証を使用するようにWebサービスを設定する必要があります。

<authentication mode="Windows" /> 
<identity impersonate="true"/> 
+0

ありがとうHenrik 私はWebパーツを作成し、あなたのようにコードを使用してそれを行うことができました。私はコードを書かずに、シェアポイントデザイナーを使ってやってみることを勧めました。 –

1

現在のユーザーを取得するには、公式のSharePoint構文を使用するのが最善の方法でしょう。提案のための

SPContext.Current.Web.CurrentUser; 

MSDN Documentation for CurrentUser.

Related article on StackOverflow.

+0

真。しかし、文脈が利用可能な場合のみ。 webpartsの場合、SharePointはWebサービスをデプロイしました。 SharePointオブジェクトモデルを使用する単純なASP.NETアプリケーションを使用している場合は、SPContextは存在しないと思います。 – Henrik

関連する問題