如题,编程更改IIS中站点“目录安全性”中的“匿名访问用户”分不够可另外开帖

解决方案 »

  1.   

    AnonymousUserName,下面有一份例子代码:void __stdcall SetAnonymouseUser(const TCHAR* sWebDir, const TCHAR* sWebInstance){
    IADsContainer* iContainer;
    IADs* iAds;
    TCHAR sAdminName[256];
    DWORD dwSize = 256;
    BOOL blnGetUserName;
    blnGetUserName = GetUserName(sAdminName, &dwSize); HRESULT hTemp;
    int iPosition;
    wstring sTempDir;
    wstring sTempStr;
    TCHAR* swcWebDir; sTempStr = sWebDir; if(ADsGetObject(L"IIS://Localhost/W3SVC",IID_IADsContainer,(void**)&iContainer) == S_OK){
    if(iContainer->GetObject(TEXT("IIsWebServer"), SysAllocString(sWebInstance), (IDispatch**)&iAds) == S_OK){
    if(iAds->QueryInterface(IID_IADsContainer, (void**)&iContainer)==S_OK){
    if(iContainer->GetObject(TEXT("IIsWebVirtualDir"), TEXT("Root"), (IDispatch**)&iAds) == S_OK){
    if(iAds->QueryInterface(IID_IADsContainer,(void**)&iContainer)==S_OK){
    do{
    iPosition = sTempStr.find_first_of(TEXT("/"), 0);
    if(iPosition == -1){
    sTempDir = sTempStr;
    swcWebDir = const_cast<TCHAR*>(sTempDir.c_str());
    hTemp = iContainer->GetObject(TEXT("IIsWebVirtualDir"), swcWebDir, (IDispatch**)&iAds);
    if(hTemp == E_ADS_BAD_PARAMETER){
    hTemp = iContainer->GetObject(TEXT("IIsWebDirectory"), swcWebDir, (IDispatch**)&iAds);
    }
    if(hTemp == S_OK){
    iAds->Put(TEXT("AnonymousUserName"), _variant_t(sAdminName));
    iAds->SetInfo();
    iAds->Release();
    iContainer->Release();
    }else{
    iAds->Release();
    iContainer->Release();
    }
    }else{
    sTempDir = sTempStr.substr( 0, iPosition);
    sTempStr = sTempStr.substr( iPosition + 1, sTempStr.length());
    swcWebDir = const_cast<TCHAR*>(sTempDir.c_str());
    hTemp = iContainer->GetObject(TEXT("IIsWebVirtualDir"), swcWebDir, (IDispatch**)&iAds);
    if(hTemp == E_ADS_BAD_PARAMETER){
    hTemp = iContainer->GetObject(TEXT("IIsWebDirectory"), swcWebDir, (IDispatch**)&iAds);
    }
    if(hTemp == S_OK){
    hTemp = iAds->QueryInterface(IID_IADsContainer, (void**)&iContainer);
    if(hTemp != S_OK){
    iAds->Release();
    iContainer->Release();
    break;
    }
    }else{
    iAds->Release();
    iContainer->Release();
    }
    } }while(iPosition != -1);
    }else{
    iAds->Release();
    iContainer->Release();
    }
    }else{
    iAds->Release();
    iContainer->Release();
    }
    }else{
    iAds->Release();
    iContainer->Release();
    }
    }else{
    iAds->Release();
    iContainer->Release();
    }
    }else{
    iContainer->Release();
    }
    }
      

  2.   

    http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/apro3jfp.htm
      

  3.   

    哦,是样子啊,关键就是这句
    pVrAds->Put(L"AnonymousUserName", _variant_t(strName));再问一下,要怎么设最大连接,还有怎么增加站点标识用下面这句不能改变最大连接啊,是怎么回事
    pVrAds->Put(L"MaxConnections", _variant_t(100));