小编Mar*_*ius的帖子

从LDAP到django获取组

django-ldap-auth用来根据LDAP-Server(ActiveDirectory)对用户进行身份验证.用户能够登录并且每个用户的标志(例如is_staff)被正确设置.

我还想根据ldap-users组向我的django用户添加django-groups.这是我的设置:

import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType, ActiveDirectoryGroupType

AUTH_LDAP_SERVER_URI = "ldap://XXX"

AUTH_LDAP_BIND_AS_AUTHENTICATING_USER = True
AUTH_LDAP_BIND_DN = ""
AUTH_LDAP_BIND_PASSWORD = ""

# I somewhere read that this should help, but it didn't:
#AUTH_LDAP_GLOBAL_OPTIONS = {
#    ldap.OPT_REFERRALS: 0
#}

AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=Benutzer,ou=Konten,ou=XXX,ou=XXX,dc=XXX,dc=XXX,dc=XXX",
ldap.SCOPE_SUBTREE, "(cn=%(user)s)")
AUTH_LDAP_USER_DN_TEMPLATE = "CN=%(user)s,OU=Benutzer,OU=Konten,OU=XXX,OU=XXX,DC=XXX,DC=XXX,DC=XXX"

# Set up the basic group parameters.
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("OU=AnwenderRollen,OU=Gruppen,OU=XXX,OU=XXX,DC=XXX,DC=XXX,DC=XXX",
    ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)"
)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr="CN")
# also tried various possibilities for objectClass and AUTH_LDAP_GROUP_TYPE
#AUTH_LDAP_GROUP_TYPE …
Run Code Online (Sandbox Code Playgroud)

python django ldap active-directory django-auth-ldap

6
推荐指数
1
解决办法
4722
查看次数

出错时重试异步文件上传

我正在尝试在 WPF 应用程序中上传文件。如果服务器响应,则一切正常,但应用程序将在具有“不安全”互联网连接的环境中使用。因此,如果第一次尝试失败,我想在短暂休息后重试上传。

我用 async/await 尝试了一些事情,最终得到了以下代码。如果服务器正在运行,则一切正常,但如果没有,程序将在 while 循环的第二次迭代中失败并出现 ObjectDisposeException。

有任何想法吗?

private void UploadButton_Click(object sender, RoutedEventArgs e)
{
    // build content to send
    content = new MultipartFormDataContent();
    var filestream = new FileStream(filePath, FileMode.Open);
    var fileName = System.IO.Path.GetFileName(filePath);
    content.Add(new StreamContent(filestream), "file", fileName);
    content.Add(new StringContent(terminal_id.ToString()), "terminal_id");

    UploadTask(content);
    /*var task_a = new Task(() => UploadTask(content));
    task_a.Start();*/
}

private async void UploadTask(HttpContent content)
{
    bool success = false;
    int counter = 0;

    while (counter < 3 && !success)
    {
        Debug.WriteLine("starting upload");
        success = await UploadFileAsync(content); …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf asynchronous async-await

5
推荐指数
1
解决办法
2369
查看次数

以django形式覆盖max_value

我使用a ModelForm并且我想为一个设置max_value而IntegerField不会丢失从模型创建的其他属性(verbose_name等).

这是我的ModelForm:

class DataForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(DataForm, self).__init__(*args, **kwargs)
        self.fields['start_range_points'].max_value = 1000
    class Meta():
        model = DataModel
Run Code Online (Sandbox Code Playgroud)

这不起作用,django不对大数应用验证.如果我按以下方式创建字段,验证工作,但我丢失了从模型创建的信息.

class DataForm(ModelForm):
    start_range_points = forms.IntegerField(min_value=0, max_value=1000)
    class Meta():
        model = DataModel
Run Code Online (Sandbox Code Playgroud)

我能做些什么来实现类似于尝试#1的东西?

django django-forms

2
推荐指数
1
解决办法
737
查看次数